Computing systems often include one or more host computers (“hosts”) for processing data and running application programs, direct access storage devices (DASDs) for storing data, and a storage controller for controlling the transfer of data between the hosts and the DASD. In addition to storing actual data, also known as user or customer data, the control unit often maintains meta data which provides information on tracks or blocks of data in the DASD or in a cache of the storage controller. The storage controller processes the meta data during certain operations on the actual data represented by the meta data to improve the speed and efficiency of those requested operations.
There are numerous types of meta data, such as summary information, partial-copy information, historical information, copy services information, and log structured array information. Summary information summarizes the customer data, including information on the format of a block or track of customer data, such as a count-key-data (CKD) track. In this way, information on the actual customer data that would otherwise have to be gleaned from the customer data in a time consuming process is readily available. Partial copy information contains a copy of a portion of the actual customer data to improve destage performance. Historical information records historical usage of the customer data. Historical data may be used to predict future use of the user or customer data. Copy services information contains bit maps that indicate tracks of the customer data that were modified and not yet copied to a secondary site. The log structured array (LSA) information maintains an LSA directory and related data to manage the LSA.
Typically, during initialization of the DASD, meta data is copied from the DASD to the storage controller. As the size of a meta data track and the types of meta data maintained increases, an ever increasing amount of cache storage and processing capacity is dedicated to meta data, to the exclusion of other types of data. In addition, because cache storage is volatile (data stored in cache will be lost in the event of a power loss), some conventional computing systems save meta data that has been modified in cache into separate, battery-backed-up, non-volatile storage units (NVS) for recovery purposes. Such implementations add additional costs and overhead by consuming processor and memory resources to maintain and update the meta data in NVS.
To conserve NVS capacity, some computing systems will not back-up meta data in NVS. The problem with not providing an NVS backup is that microcode errors, power loss, and other error conditions may cause some or all of the meta data stored in cache to become invalid or lost. In such case, the storage controller must rebuild the meta data from the actual data in the DASD. This process of recovering lost meta data can be time-consuming, as meta data often represents thousands of customer tracks. In conventional computing systems when modified meta data is not backed-up into NVS, lost meta data is rebuilt in a piecemeal process every time its associated customer data is staged into cache for other purposes. The need to rebuild the meta data delays the recovery of meta data and also degrades data processing operations.
Thus, there is a need in the art for an improved method and system for managing meta data.